// internal/parser/ast/node.go
package ast

// Node 表示抽象语法树(AST)中的任意节点
type Node interface {
    TokenLiteral() string // 返回与节点关联的词法单元字面值
    String() string       // 返回节点的字符串表示，用于调试和可视化
}

// Statement 表示一个完整的SQL语句
type Statement interface {
    Node
    statementNode() // 标记方法，表明实现该接口的类型是一个语句节点
}

// Expression 表示SQL中的表达式
type Expression interface {
    Node
    expressionNode() // 标记方法，表明实现该接口的类型是一个表达式节点
}